package com.ldu.houserent.controller.backend;

import com.ldu.houserent.common.base.BaseController;
import com.ldu.houserent.common.constant.Constant;
import com.ldu.houserent.common.dto.JsonResult;
import com.ldu.houserent.common.util.RegexUtil;
import com.ldu.houserent.entity.User;
import com.ldu.houserent.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;

/**
 * 个人信息控制器
 */
@Controller
@RequestMapping("/admin/profile")
public class ProfileController extends BaseController {

    @Autowired
    private UserService userService;

    /*
        个人信息页面
     */
    @RequestMapping("")
    public String profile(Model model){
        User user = getLoginUser();
        model.addAttribute("user",user);
        model.addAttribute("tab","my-profile");         //鼠标点击后，改变页面中的字体颜色样式
        return "admin/my-profile";
    }


    /*
        个人信息保存提交
     */
    @RequestMapping(value = "/submit",method = RequestMethod.POST)
    @ResponseBody
    public JsonResult submitProfile(User user, HttpSession session){        //把前端的user传过来
        user.setId(getLoginUserId());   //没有把id放到隐藏字段中，所以需要先获取到id，再set到user中
        //验证手机号、电子邮箱、身份证号的格式
        if(!RegexUtil.isMobile(user.getPhone())){     //如果不是手机号格式
            return JsonResult.error("手机号格式输入有误");
        }
        if(!RegexUtil.isEmail(user.getEmail())){
            return JsonResult.error("电子邮箱格式输入有误");
        }
        if(!RegexUtil.isIdcard(user.getIdCard())){
            return JsonResult.error("身份证号格式输入有误");
        }
        userService.update(user);
        session.setAttribute(Constant.SESSION_USER_KEY,userService.get(getLoginUserId()));      //存到session中
        return JsonResult.success("保存成功");
    }
}
